///*
//Copyright 2003 Sun Microsystems, Inc. ALL RIGHTS RESERVED.
//Use of this software is authorized pursuant to the terms of the license found at
//http://developer.java.sun.com/berkeley_license.html.
//
//Copyright 2003 Sun Microsystems, Inc. All Rights Reserved.  
//Redistribution and use in source and binary forms, with or without modification,
//are permitted provided that the following conditions are met: 
//
//- Redistribution of source code must retain the above copyright notice, 
//this list of conditions and the following disclaimer.
//
//- Redistribution in binary form must reproduce the above copyright notice,
//this list of conditions and the following disclaimer in the documentation
//and/or other materials provided with the distribution.
//
//Neither the name of Sun Microsystems, Inc. or the names of contributors may 
//be used to endorse or promote products derived from this software without
//specific prior written permission.
//
//This software is provided "AS IS," without a warranty of any kind.  
//ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING
//ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR
//NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN MICORSYSTEMS, INC. ("SUN")
//AND ITS LICENSORS SHALL NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE
//AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
//DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR ANY LOST
//REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, 
//INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF
//LIABILITY, ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN
//IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
//
//You acknowledge that this software is not designed, licensed or intended for
//use in the design, construction, operation or maintenance of any nuclear
//facility.
//
//
// */
//package org.fp.db;
//
///*
// * Copyright 2003 Sun Microsystems, Inc.  ALL RIGHTS RESERVED.
// * Use of this software is authorized pursuant to the terms of the license found at
// * http://developer.java.sun.com/berkeley_license.html.
// */
//import java.sql.*;
//
//public class SetSavePoint {
//
//    public static void main(String args[]) {
//
//        String url = "jdbc:mySubprotocol:myDataSource";
//
//        try {
//
//            Class.forName("myDriver.className");
//
//        } catch (java.lang.ClassNotFoundException e) {
//            System.err.print("ClassNotFoundException: ");
//            System.err.println(e.getMessage());
//        }
//
//        try {
//
//            Connections con = DriverManager.getConnection(url,
//                    "myLogin", "myPassword");
//            con.setAutoCommit(false);
//
//            String query = "SELECT COF_NAME, PRICE FROM COFFEES "
//                    + "WHERE TOTAL > ?";
//            String update = "UPDATE COFFEES SET PRICE = ? "
//                    + "WHERE COF_NAME = ?";
//
//            PreparedStatement getPrice = con.prepareStatement(query);
//            PreparedStatement updatePrice = con.prepareStatement(
//                    update);
//
//            getPrice.setInt(1, 7000);
//            ResultSet rs = getPrice.executeQuery();
//
//            Savepoint save1 = con.setSavepoint();
//
//            while (rs.next()) {
//                String cof = rs.getString("COF_NAME");
//                float oldPrice = rs.getFloat("PRICE");
//                float newPrice = oldPrice + (oldPrice * .05f);
//                updatePrice.setFloat(1, newPrice);
//                updatePrice.setString(2, cof);
//                updatePrice.executeUpdate();
//                System.out.println("New price of " + cof + " is "
//                        + newPrice);
//                if (newPrice > 11.99) {
//                    con.rollback(save1);
//                }
//
//            }
//
//            getPrice = con.prepareStatement(query);
//            updatePrice = con.prepareStatement(update);
//
//            getPrice.setInt(1, 8000);
//
//            rs = getPrice.executeQuery();
//            System.out.println();
//
//            Savepoint save2 = con.setSavepoint();
//
//            while (rs.next()) {
//                String cof = rs.getString("COF_NAME");
//                float oldPrice = rs.getFloat("PRICE");
//                float newPrice = oldPrice + (oldPrice * .05f);
//                updatePrice.setFloat(1, newPrice);
//                updatePrice.setString(2, cof);
//                updatePrice.executeUpdate();
//                System.out.println("New price of " + cof + " is "
//                        + newPrice);
//                if (newPrice > 11.99) {
//                    con.rollback(save2);
//                }
//            }
//
//            con.commit();
//
//            Statement stmt = con.createStatement();
//            rs = stmt.executeQuery("SELECT COF_NAME, "
//                    + "PRICE FROM COFFEES");
//
//            System.out.println();
//            while (rs.next()) {
//                String name = rs.getString("COF_NAME");
//                float price = rs.getFloat("PRICE");
//                System.out.println("Current price of " + name
//                        + " is " + price);
//            }
//
//            con.close();
//
//        } catch (Exception e) {
//            e.printStackTrace();
//        }
//
//    }
//}